Allows custom web-pages to be integrated into MyID Self-Service Kiosk, exposing native functionality for those pages to use.
To use this API, the following are required:
Some parts of the API require additional client-configuration:
SSK exposes a 'MyID' object via the WebView2's HostObjects property:
window.chrome.webview.hostObjects.MyID
This object exposes a number of functions and properties that can be called from the embedded page:
SSK can be configured to enable the Microsoft Edge Developer Tools, allowing you to debug your custom pages within the SSK window. To enable these tools, add the following to your MyIDKiosk.exe.config file (located in the SSK install directory) inside the appSettings node:
<add key="EnableWebApiDevTools" value="true"/>
With this configuration, from an embedded web-page in SSK you can press F12 and the Microsoft Edge Developer Tools will open in a standalone window, at which point you can debug your embedded page as-if it was running inside Microsoft Edge standalone.
❗ NOTE: This configuration allows anyone with access to the kiosk to invoke the Microsoft Edge Developer Tools, and should not be used in production. When this is enabled, SSK presents a red warning at the top of the window to indicate that it is configured in an insecure fashion.
The following details the functions and properties exposed by this version of the SSK Web API.
Allows the embedded web-page to capture one or more fingerprints using SSK's native controls. When called, the web-page is hidden and the fingerprint capture UI is displayed; once the operator has completed the fingerprint capture the web-page is restored and the result is returned via a callback function as a JSON string in MyID REST API format.
Name | Type | Description | Allowed values |
---|---|---|---|
fingersToCapture | string | Fingers to be captured | Semi-colon delimited string of Finger IDs (case-insensitive) |
captureDeviceType | string | Fingerprint capture device-type | One of the supported fingerprint capture device-types (case insensitive) |
callbackFunc | function | JavaScript callback to which SSK will return the result. | A JavaScript function that takes a single string parameter. |
Value | Description |
---|---|
LT | Left thumb |
LI | Left index-finger |
LM | Left middle-finger |
LR | Left ring-finger |
LL | Left little-finger |
RT | Right thumb |
RI | Right index-finger |
RM | Right middle-finger |
RR | Right ring-finger |
RL | Right little-finger |
Value | Description |
---|---|
Secugen | Capture using a Secugen fingerprint reader |
UareU | Capture using a UareU fingerprint reader |
The following shows a capture of the left and right thumbs using a Secugen fingerprint reader:
function processResult(result)
{
// This will be called by SSK with the capture result
}
window.chrome.webview.hostObjects.MyID.CaptureFingerprints("lt;rt", "secugen", processResult)
The following is an example of the data that is passed into callbackFunc (the processResult function in the above example) by SSK:
{
"Fingers": {
"lt": {
"bioDeviceId": "{C4723C9E-828F-497F-AD2E-D15EFA17B971}",
"minutia": {
"format": "378",
"data": "<AnsiIncits378Data>"
},
"quality": "90",
"status": "P"
},
"rt": {
"bioDeviceId": "{C4723C9E-828F-497F-AD2E-D15EFA17B971}",
"minutia": {
"format": "378",
"data": "<AnsiIncits378Data>"
},
"quality": "86",
"status": "P"
}
},
"StatusCode": "Success",
"Success": true
}
In this example, the left and right thumbs have been successfully captured (actual data redacted for the purpose of this document).
A function that allows the embedded web-page to indicate to SSK that it has finished its work, and that the kiosk should progress to the next stage. The web-page can indicate the reason for progressing, i.e. successfully completed, cancelled, timed-out, or errored.
When indicating a cancellation, SSK prompts the operator to confirm the cancellation - if they confirm then SSK progresses, and if they cancel then the embedded web-page is restored.
Name | Type | Description | Allowed values |
---|---|---|---|
doneReason | string | The reason for progressing | One of the supported done reasons (case-insensitive) |
Value | Description |
---|---|
Abort | Indicates a cancellation |
Complete | Indicates success |
Error | Indicates an error |
Timeout | Indicates a timeout |
The following shows an instruction to SSK that the web-page has finished its work successfully and that the kiosk can now progress:
window.chrome.webview.hostObjects.MyID.Done("complete")
A simple property that allows the embedded page to retrieve the configured Kiosk ID as a string.
The following shows retrieval of the Kiosk ID using the await pattern:
var kioskId = await window.chrome.webview.hostObjects.MyID.KioskID
In this example, assuming the following was configured in the MyIDKiosk.exe.config appSettings:
<add key="KioskID" value="Kiosk1234"/>
...then the value of kioskId would be "Kiosk1234".
❗ NOTE: If no value has been configured in the MyIDKiosk.exe.config then SSK will return "NotSet".